home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / Kubuntu 8.10 / kubuntu-8.10-desktop-i386.iso / casper / filesystem.squashfs / usr / include / linux / atm_tcp.h < prev    next >
C/C++ Source or Header  |  2008-10-24  |  2KB  |  62 lines

  1. /* atm_tcp.h - Driver-specific declarations of the ATMTCP driver (for use by
  2.            driver-specific utilities) */
  3.  
  4. /* Written 1997-2000 by Werner Almesberger, EPFL LRC/ICA */
  5.  
  6.  
  7. #ifndef LINUX_ATM_TCP_H
  8. #define LINUX_ATM_TCP_H
  9.  
  10. #include <linux/atmapi.h>
  11. #include <linux/atm.h>
  12. #include <linux/atmioc.h>
  13. #include <linux/types.h>
  14.  
  15.  
  16. /*
  17.  * All values in struct atmtcp_hdr are in network byte order
  18.  */
  19.  
  20. struct atmtcp_hdr {
  21.     __u16    vpi;
  22.     __u16    vci;
  23.     __u32    length;        /* ... of data part */
  24. };
  25.  
  26. /*
  27.  * All values in struct atmtcp_command are in host byte order
  28.  */
  29.  
  30. #define ATMTCP_HDR_MAGIC    (~0)    /* this length indicates a command */
  31. #define ATMTCP_CTRL_OPEN    1    /* request/reply */
  32. #define ATMTCP_CTRL_CLOSE    2    /* request/reply */
  33.  
  34. struct atmtcp_control {
  35.     struct atmtcp_hdr hdr;    /* must be first */
  36.     int type;        /* message type; both directions */
  37.     atm_kptr_t vcc;        /* both directions */
  38.     struct sockaddr_atmpvc addr; /* suggested value from kernel */
  39.     struct atm_qos    qos;    /* both directions */
  40.     int result;        /* to kernel only */
  41. } __ATM_API_ALIGN;
  42.  
  43. /*
  44.  * Field usage:
  45.  * Messge type    dir.    hdr.v?i    type    addr    qos    vcc    result
  46.  * -----------  ----    ------- ----    ----    ---    ---    ------
  47.  * OPEN        K->D    Y    Y    Y    Y    Y    0
  48.  * OPEN        D->K    -    Y    Y    Y    Y    Y
  49.  * CLOSE    K->D    -    -    Y    -    Y    0
  50.  * CLOSE    D->K    -    -    -    -    Y    Y
  51.  */
  52.  
  53. #define SIOCSIFATMTCP    _IO('a',ATMIOC_ITF)    /* set ATMTCP mode */
  54. #define ATMTCP_CREATE    _IO('a',ATMIOC_ITF+14)    /* create persistent ATMTCP
  55.                            interface */
  56. #define ATMTCP_REMOVE    _IO('a',ATMIOC_ITF+15)    /* destroy persistent ATMTCP
  57.                            interface */
  58.  
  59.  
  60.  
  61. #endif
  62.